import { Point } from './Point';
import { Overlay } from './Overlay';
import { LngLat } from './LngLat';


export interface LabelOptions {
    text?: string;
    offset?: Point;
    position?: LngLat;
}

export interface LabelConstructor {
    new(opts?: LabelOptions): Label;
  }

export interface Label extends Overlay {
    getType(): number;
    getLngLat(): LngLat;
    setLngLat(lnglat: LngLat): void;
    setOffset(offset: Point): void;
    getOffset(): Point;
    setLabel(content: string): void;
    getLabel(): string;
    setTitle(title: string): void;
    getTitle(): string;
    setZindex(): void;
    setFontSize (size: number): void;
    getFontSize(): number;
    setFontColor(color: string): void;
    getFontColor(): string;
    setBackgroundColor(color: string): void;
    getBackgroundColor(): string;
    setBorderLine (width: number): void;
    getBorderLine(): number;
    setBorderColor(color: string): void;
    getBorderColor(): string;
    setOpacity(opacity: number): void;
    getOpacity(): number;
    addEventListener(event: string, handler: (e: any) => void);
    removeEventListener(event: string, handler: () => void);
}
